Frequency-domain MIMO processing method and system

ABSTRACT

A communication system based upon frequency-domain MIMO processing is disclosed. A transmitting device of the communication system transforms time-domain signals into frequency-domain signals, and weights each frequency-domain signal to form weighted frequency-domain signals with each weighted frequency-domain signal being a function of each frequency-domain signal. The transmitting device transmits weighted time-domain waveforms as a function of the weighted frequency-domain signals. In response thereto, a receiving device of the communication system provides frequency-domain samples that are a function of the one or more weighted time-domain waveforms and weights each frequency-domain sample to form one or more weighted frequency-domain samples with each weighted frequency-domain sample being a function of each frequency-domain sample. The receiving device decodes the weighted frequency-domain sample to obtain the information represented by the time-domain signals.

FIELD OF THE INVENTION

In general, the present invention relates to the field of multiple input-multiple output (“MIMO”) communication systems. More specifically, the present invention relates to increasing the link capacity of broadband wireless single carrier systems operating in a high delay-spread channel.

BACKGROUND OF THE INVENTION

Both single data-stream array processing methods and multiple data stream methods as known in the art are utilized for purposes of increasing the link capacity of narrowband single carrier communication systems and orthogonal frequency division multiplexing (“OFDM”) systems. Various methodologies require the transmit array to have knowledge of the channel response between each transmit antenna element and each receive antenna element, and are therefore referred to as “closed-loop” MIMO. Conversely, prior art transmission methods that do not require channel knowledge at the transmit array are referred to as “open-loop” MIMO. Theoretically, the benefits of having perfect channel knowledge versus not having any channel knowledge at the transmit array are obtained mainly at low signal-to-noise ratios and in correlated channels. The higher link capacities obtained when channel knowledge is present, however, translate into significant capacity gains on the system level.

A Cyclic-Prefix single carrier (“CP-single carrier”) system known in the art is characterized by the insertion of an OFDM-style cyclic prefix into a sequence of time-domain data symbols. It is well known that the cyclic prefix facilitates the application of frequency-domain equalization and receive array processing methodologies at a receiving device having one or more antennas. Many benefits of frequency-domain equalization and cyclic prefixes have been acquired. However, the idea of applying a MIMO methodology to cyclic prefix-based single carrier systems is absent from the prior art. The present invention addresses this situation.

SUMMARY OF THE INVENTION

One form of the invention is a method of operating a transmitting device having one or more transmission branches with each transmission branch receiving a time-domain signal. First, each time-domain signal is transformed into a frequency-domain signal. Second, each frequency-domain signal is weighted to form one or more weighted frequency-domain signals with each weighted frequency-domain signal being a function of each frequency-domain signal.

The foregoing and other features and advantages of the invention will become further apparent from the following detailed description of the presently preferred embodiment, read in conjunction with the accompanying drawings. The detailed description and drawings are merely illustrative of the invention rather than limiting, the scope of the invention being defined by the appended claims and equivalents thereof.

BRIEF DESCRIPTION OF THE DRAWINGS

FIG. 1 illustrates one embodiment of a timing diagram of a cyclic-prefix-based single-carrier system in accordance with the present invention;

FIG. 2 illustrates one embodiment of a closed-loop MIMO transmitting device for a cyclic-prefix single-carrier system in accordance with the present invention;

FIG. 3 illustrates one embodiment of a frequency-domain weighting module for the closed loop MIMO transmitting device of FIG. 1;

FIG. 4 illustrates one embodiment of a linear MIMO receiving device for a cyclic-prefix single-carrier system in accordance with the present invention; and

FIG. 5 illustrates one embodiment of a frequency-domain weighting module for the linear MIMO receiving device of FIG. 4.

DETAILED DESCRIPTION OF THE PRESENTLY PREFERRED EMBODIMENTS

The present invention is a method for incorporating multiple-stream array processing techniques in single carrier systems comprising a transmitting device having M_(T) transmit antennas (e.g., a transmitting device 20 illustrated in FIG. 2 where M_(T)=3) and a receiving device having M_(R) receive antennas (e.g., a receiving device 30 illustrated in FIG. 4 where M_(R)=3). Such methods can employ cyclic redundancy (i.e., cyclic prefixes, cyclic postfixes, or a mixture thereof).

FIG. 1 illustrates a time line wherein the time domain is divided up into a baud interval 11 a, a baud interval 11 b, and others baud intervals not shown. Each illustrated baud interval consists of a cyclic redundancy of L_(cp) symbols, such as a cyclic prefix 12 a of L_(cp) symbols, and a cyclic prefix 12 b of L_(cp) symbols₂. In other embodiments of baud intervals, other forms of cyclic redundancy can be used, such as, for example, cyclic postfix and a mixture of a cyclic prefix and a cyclic postfix. Each baud interval further consists of a data interval of N symbols (N>1), such as a data interval 13 a of N symbols₁ and a data interval 13 b of N symbols₂. The L_(cp) symbols of each cyclic prefix are simply a repetition of the last L_(cp) symbols of a corresponding data interval. Within a given baud interval, the goal of a transmitting device of the present invention (e.g., transmitting device 20) is to deliver N_(s) sequences of N symbols (e.g., Quadrature Amplitude Modulation (“QAM”) symbols or Phase-Shift Keying (“PSK”) symbols) within each baud interval. The m^(th) time-domain symbol of the j^(th) stream is denoted s_(j)[m], for j=1 . . . N_(s), and m=0 . . . N−1. The symbols of the N_(s) streams can belong to a traditional QAM or PSK constellation, time-domain chips in a CDMA system, or other weighted time-domain signals as known in the art.

FIG. 2 illustrates transmitting device 20 operating in accordance with the present invention. Transmitting device 20 has three branches for processing a time-domain signal s₁[m], a time-domain signal s₂[m], and a time-domain signal s₃[m] (i.e., M_(T)=3 and N_(S)=3). A following operational description on of transmitting device 20 involves baud interval 11 a (FIG. 1). As a result, in the following operational description of transmitting device 20, the dependencies of the mathematical quantities on a particular baud interval are omitted for clarity. Furthermore, from the following operational description of transmitting device 20, those having ordinary skill in the art will appreciate alternative embodiments of a transmitting device in accordance with the present invention for processing any number of streams (i.e., 1≦N_(s)<∞) with any number of transmit antennas M_(T).

Transmitting device 20 includes a Time-Frequency Transformer (“TFT”) module 21 a, a TFT module 21 b, and a TFT module 21 c. TFT module 21 a, TFT module 21 b, and TFT module 21 c transform time-domain signal s₁[m], time-domain signal s₂[m], and time-domain signal s₃[m], respectively, into frequency-domain signals of a continuous nature or a discrete nature. In one embodiment, TFT module 21 a, TFT module 21 b, and TFT module 21 c are Fast Fourier Transform (“FFT”) based modules for implementing the following equation [1] in transforming time-domain signal s₁[m], time-domain signal s₂[m], and time-domain signal s₃[m], respectively, into a frequency-domain signal S₁[k], a frequency-domain signal S₂[k], and a frequency-domain signal S₃[k], respectively: $\begin{matrix} {{S_{j}\lbrack k\rbrack} = {\sum\limits_{m = 0}^{N - 1}\quad{{s_{j}\lbrack m\rbrack}{\mathbb{e}}^{{- {j2}}\quad\pi\quad{{km}/N}}}}} & \lbrack 1\rbrack \end{matrix}$

where S_(j)[k] is the frequency-domain symbol on the k^(th) frequency bin (or subcarrier) for the j^(th) stream, where k=0 . . . N−1, and N is the FFT size.

Once in the frequency-domain, the transmit array processing required by MIMO is carried out on each frequency bin by a frequency-domain weighting module 22. Specifically, frequency-domain weighting module 22 provides a weighted frequency-domain signal X₁[k], a weighted frequency-domain signal X₂[k], and a weighted frequency-domain signal X₃[k], each being a function of frequency-domain signal S₁[k], frequency-domain signal S₂[k], and frequency-domain signal S₃[k]. In one embodiment, as illustrated in FIG. 3, frequency-domain weighting module 22 receives frequency-domain signal S₁[k], frequency-domain signal S₂[k], and frequency-domain signal S₃[k] on the k^(th) subcarrier in an N_(s)×1 vector according to the following equation [2]: $\begin{matrix} {{S\lbrack k\rbrack} = \begin{bmatrix} {S_{1}\lbrack k\rbrack} \\ {S_{2}\lbrack k\rbrack} \\ \vdots \\ {S_{N_{s}}\lbrack k\rbrack} \end{bmatrix}} & \lbrack 2\rbrack \end{matrix}$

where k=0 . . . N−1, and where N_(s)=3.

Accordingly, TFT module 21 a implements a serial-to-parallel conversion of the time-domain signal s₁[m] (m=0 . . . N−1) to a frequency-domain signal S₁[0], a frequency-domain signal S₁[1], and a frequency-domain signal S₁[2]. TFT module 21 b implements a serial-to-parallel conversion of the time-domain signal s₂[m] (m=0 . . . N−1) to a frequency-domain signal S₂[0], a frequency-domain signal S₂[1], and a frequency-domain signal S₂[2]. TFT module 21 c implements a serial-to-parallel conversion of the time-domain signal s₃[m] (m=0 . . . N−1) to a frequency-domain signal S₃[0], a frequency-domain signal S₃[1], and a frequency-domain signal S₃[2]. In this FFT embodiment, the FFT size N (which in most embodiments is equal to the number of symbols in a data interval 13 a) is shown to be 3, although, as will be appreciated by those skilled in the art, N can take on other values such as 512 or 1024.

In response thereto, for each subcarrier k of the N subcarriers, frequency-domain weighting module 22 provides M_(T) weighted frequency-domain signals X_(j)[k], j=1 . . . M_(T), which are collected into the M_(T)×1 vector X[k] in accordance with the following equation [3]: $\begin{matrix} {{X\lbrack k\rbrack} = \begin{bmatrix} {X_{1}\lbrack k\rbrack} \\ {X_{2}\lbrack k\rbrack} \\ \vdots \\ {X_{M_{T}}\lbrack k\rbrack} \end{bmatrix}} & \lbrack 3\rbrack \end{matrix}$

As shown in FIG. 3, the number of antennas M_(T) is shown to be 3, although it will be appreciated by those skilled in the art that M_(T) can take on other values that are, for example, not necessarily equal to the number of streams N_(s). In most embodiments, M_(T) is chosen to be greater than or equal to N_(s). A Frequency-Time Transformer (“FTT”) module 23 a receives a weighted frequency-domain signal X₁[k] for k=0 . . . N−1 (i.e., X₁[0], X₁[1] and X₁[2]). An FTT module 23 b receives a weighted frequency-domain signal X₂[k] for k=0 . . . N−1 (i.e., X₂[0], X₂[1] and X₂[2]). An FTT module 23 c receives a weighted frequency-domain signal X₃[k] for k=0 . . . N−1 (i.e., X₃[0], X₃[1] and X₃[2]).

In one embodiment, frequency-domain weighting module 22 includes a plurality of weight modules 22 a-22 i and a plurality of sum devices 22 j-22 r for providing the vector X[k] by a weighting of the frequency-domain signals S₁[0]-S₃[2] in accordance with the following equation [4]: $\begin{matrix} {{X\lbrack k\rbrack} = {{{V\lbrack k\rbrack}{S\lbrack k\rbrack}} = {\underset{l = 1}{\sum\limits^{N_{s}}}{{V_{l}\lbrack k\rbrack}{S_{l}\lbrack k\rbrack}}}}} & \lbrack 4\rbrack \end{matrix}$

where the M_(T)×1 vector X[k] is as in equation [3]; where the N_(s)×1 vector S[k] is as in equation [2]; where the M_(T)×1 transmit weight vector for the l^(th) stream is given by V_(l)[k] in accordance with the following equation [5]: $\begin{matrix} {{V_{l}\lbrack k\rbrack} = \begin{bmatrix} {V_{1l}\lbrack k\rbrack} \\ {V_{2l}\lbrack k\rbrack} \\ \vdots \\ {V_{M_{T}l}\lbrack k\rbrack} \end{bmatrix}} & \lbrack 5\rbrack \end{matrix}$ and the N_(s) transmit vectors are arranged into a transmit matrix V[k] in accordance with the following equation [6]: V[k]=[V₁[k] V₂[k] . . . V_(N) _(s) [k]]  [6]

where, as illustrated in FIG. 3, a plurality of signal paths SP1-SP27 are arranged between weight units 22 a-22 i and sum units 22 j-22 r in accordance with equations [4], [5], and [6].

FTT module 23 a converts weighted frequency-domain signals X₁[0], X₁[1], and X₁[2] into a weighted time-domain signal x₁[m], for m=0 . . . N−1. FTT module 23 b converts weighted frequency-domain signals X₂[0], X₂[1], and X₂[2] into weighted time-domain signal x₂[m], for m=0 . . . N−1. FTT module 23 c converts weighted frequency-domain signals X₃[0], X₃[1] and X₃[2] into a weighted time-domain signal x₃[m], for m=0 . . . N−1. In one embodiment, FTT module 23 a, FTT module 23 b, and FTT module 23 c are inverse FFT based modules whereby weighted time-domain signals x₁[m], x₂[m], and x₃[m] are determined in accordance with the following equation [7]: $\begin{matrix} {{x_{j}\lbrack m\rbrack} = {\frac{1}{N}{\underset{k = 0}{\sum\limits^{N - 1}}{{X_{j}\lbrack k\rbrack}{\mathbb{e}}^{{+ {j2}}\quad\pi\quad{{km}/N}}}}}} & \lbrack 7\rbrack \end{matrix}$

At this point, the quantities v_(jl)[m], m=0 . . . N−1, are defined to be the time-domain equivalent representation of the frequency-domain transmit weights v_(jl)[k], k=0 . . . N−1, j=1 . . . M_(T), l=1 . . . N_(s), in accordance with the following equation [8]: $\begin{matrix} {{v_{jl}\lbrack m\rbrack} = {\frac{1}{N}{\underset{k = 0}{\sum\limits^{N - 1}}{{V_{jl}\lbrack k\rbrack}{\mathbb{e}}^{{+ {j2}}\quad\pi\quad{{km}/N}}}}}} & \lbrack 8\rbrack \end{matrix}$

It can then be shown that the weighted time-domain signals x₁[m], x₂[m], and x₃[m] of Equation [7] are given by the following equation [9]: $\begin{matrix} {{x_{j}\lbrack m\rbrack} = {\underset{{l = 1}\quad}{\sum\limits^{N_{s}}}{\underset{p = 0}{\sum\limits^{N - 1}}{{v_{jl}\lbrack p\rbrack}{s_{l}\left\lbrack {\left( {m - p} \right){mod}\quad N} \right\rbrack}}}}} & \lbrack 9\rbrack \end{matrix}$

As shown in equation [9], the time-domain data is the convolution of the time-domain equivalent transmit weights and the N_(s) data streams.

A cyclic module 24 a adds a cyclic redundancy in the form of a cyclic prefix to weighted time-domain signal x₁[m] to form a weighted redundant time-domain signal {circumflex over (x)}₁[i]. A cyclic module 24 b adds a cyclic redundancy in the form of a cyclic prefix to weighted time-domain signal x₂[m] to form a weighted redundant time-domain signal {circumflex over (x)}₂[i]. A cyclic module 24 c adds a cyclic redundancy in the form of a cyclic prefix to weighted time-domain signal x₃[m] to form a weighted redundant time-domain signal {circumflex over (x)}₃[i]. In one embodiment, weighted redundant time-domain signals {circumflex over (x)}₁[i], {circumflex over (x)}₂[i], {circumflex over (x)}₃[i] are formed in accordance with the following equation [10]: $\begin{matrix} {{{\hat{x}}_{j}\lbrack i\rbrack} = \left\{ \begin{matrix} {{{x_{j}\left\lbrack {i + N - L_{cp}} \right\rbrack},{~~}0}{\leq i \leq {L_{cp} - 1}}} \\ {{x_{j}\left\lbrack {i - L_{cp}} \right\rbrack},{~~~~~~~~~~~}{L_{cp} \leq i \leq {N + L_{cp} - 1}}} \end{matrix} \right.} & \lbrack 10\rbrack \end{matrix}$

In an alternative embodiment, cyclic module 24 a adds a cyclic redundancy in the form of a cyclic postfix to weighted time-domain signal x₁[m] to form weighted redundant time-domain signal {circumflex over (x)}₁[i]. A cyclic module 24 b adds a cyclic redundancy in the form of a cyclic postfix to weighted time-domain signal x₂[m] to form weighted redundant time-domain signal {circumflex over (x)}₂[i]. A cyclic module 24 c adds a cyclic redundancy in the form of a cyclic postfix to weighted time-domain signal x₃[m] to form weighted redundant time-domain signal {circumflex over (x)}₃[i]. In one embodiment, weighted redundant time-domain signals {circumflex over (x)}₁[i], {circumflex over (x)}₂[i], and {circumflex over (x)}₃[i] having cyclic postfixes are formed in accordance with the following equation [11]: $\begin{matrix} {{{\hat{x}}_{j}\lbrack i\rbrack} = \left\{ \begin{matrix} {{x_{j}\lbrack i\rbrack},} & {0 \leq i \leq {N - 1}} \\ {{x_{j}\left\lbrack {i - N} \right\rbrack},} & {{~~~~~~~~~~~~}{N \leq i \leq {N + L_{cp} - 1}}} \end{matrix} \right.} & \lbrack 11\rbrack \end{matrix}$

In another alternative embodiment, cyclic module 24 a adds a cyclic redundancy in the form of a combined cyclic prefix and cyclic postfix to weighted time-domain signal x₁[m] to form weighted redundant time-domain signal {circumflex over (x)}₁[i]. A cyclic module 24 b adds a cyclic redundancy in the form of a combined cyclic prefix and cyclic postfix to weighted time-domain signal x₂[m] to form weighted redundant time-domain signal {circumflex over (x)}₂[i]. A cyclic module 24 c adds a cyclic redundancy in the form of a combined cyclic prefix and cyclic postfix to weighted time-domain signal x₃[m] to form weighted redundant time-domain signal {circumflex over (x)}₃[i].

A pulse shaping module 25 a shapes weighted redundant time-domain signal {circumflex over (x)}₁[i] into a weighted time-domain waveform {circumflex over (x)}₁(t). A pulse shaping module 25 b shapes weighted time-domain signal {circumflex over (x)}₂[i] into a weighted time-domain waveform {circumflex over (x)}₂(t). A pulse shaping module 25 c shapes weighted time-domain signal {circumflex over (x)}₃[i] into a weighted time-domain waveform {circumflex over (x)}₃(t). In one embodiment, pulse shaping module 25 a, pulse shaping module 25 b, and pulse shaping module 25 c provides weighted time-domain waveforms {circumflex over (x)}₁(t), {circumflex over (x)}₂(t), and {circumflex over (x)}₃(t), respectively, in accordance with the following equation [12]: $\begin{matrix} {{{\hat{x}}_{j}(t)} = {\sum\limits_{n = 0}^{N + L_{cp} - 1}{{{\hat{x}}_{j}\lbrack n\rbrack}{p_{sr}\left( {t - {nT}_{s}} \right)}}}} & \lbrack 12\rbrack \end{matrix}$

where p_(sr)(t) is the pulse shaping waveform (which typically has the square-root raised cosine spectrum) and T_(s) is the duration of a symbol.

Weighted time-domain waveforms {circumflex over (x)}₁(t), {circumflex over (x)}₂(t), and {circumflex over (x)}₃(t) propagate from antenna 26 a, antenna 26 b, and antenna 26 c, respectively, to an antenna 31 a, an antenna 31 b, and an antenna 31 c, respectively, of receiving device 30 through a multipath channel with an RF impulse response in accordance with the following equation [13]: $\begin{matrix} {{h_{RFij}(t)} = {\sum\limits_{l = 0}^{L - 1}{h_{ijl}{\delta\left( {t - \tau_{l}} \right)}}}} & \lbrack 13\rbrack \end{matrix}$

where h_(ijl) and τ_(l) are the complex gain for the j^(th) transmit antenna and the i^(th) receive antenna and time delay of the l^(th) path, respectively, and where δ(t) is a Dirac delta function. This channel impulse response is assumed to be time-invariant during the transmitted block of N data symbols, although the extension of this equation to time-varying channels is straightforward.

FIG. 4 illustrates receiving device 30 operating in accordance with the present invention. Receiving device 30 has three branches (i.e., M_(R)=3) for processing three time-domain waveforms {circumflex over (r)}₁(t), {circumflex over (r)}₂(t) and {circumflex over (r)}₃(t) which are a function of a propagation of the weighted time-domain waveforms {circumflex over (x)}₁(t), {circumflex over (x)}₂(t), and {circumflex over (x)}₃(t), through the channel as would be appreciated by those having ordinary skill in the art. For purposes of describing receiving device 30, cyclic module 24 a, cyclic module 24 b, and cyclic module 24 c as illustrated in FIG. 2 will be viewed as adding cyclic prefixes to weighted time-domain signals x₁[m], x₂[m], and x₃[m], respectively. Also, for clarity, the operation of receiving device 30 will be described with N symbols. However, other embodiments of a receiving device in accordance with the present invention can utilize any multiple of N (e.g., 2N, 3N, etc.). From such description, those having ordinary skill in the art will appreciate that alternative embodiments of a receiving device in accordance with the present invention can have any number of receive antennas M_(R).

In response to time-domain waveforms {circumflex over (r)}₁(t), {circumflex over (r)}₂(t) and {circumflex over (r)}₃(t), a matched filter 32 a, a matched filter 32 b, and a matched filter 32 c (where in one embodiment, each has an impulse response p_(sr)(−t), where p_(sr)(t) is the impulse response of each of the pulse shaping modules 25 a, 25 b, and 25 c) provide a matched-filtered waveform r₁(t), a matched-filtered waveform r₂(t), and a matched-filtered waveform r₃(t), respectively. In one embodiment, matched-filtered waveform r₁(t), matched-filtered waveform r₂(t), and matched-filtered waveform r₃(t) are determined in accordance with the following equation [14]: $\begin{matrix} {{r_{i}(t)} = {{\sum\limits_{j = 1}^{M_{T}}{\sum\limits_{n = 0}^{N + L_{cp} - 1}{{{\hat{x}}_{j}\lbrack n\rbrack}{h_{ij}\left( {t - {nT}_{s}} \right)}}}} + {n_{i}(t)}}} & \lbrack 14\rbrack \end{matrix}$

where h_(ij)(t) is the overall impulse response between the weighted redundant time-domain signal {circumflex over (x)}_(j)[n] and the matched-filtered waveform r_(i)(t) on the i^(th) antenna as would be appreciated by those skilled in the art. In equation [14], n_(i)(t) is the receiving device noise signal on the i^(th) antenna branch, h_(ij)(t) includes the transmit pulse shaping for transmit antenna j, the received matched filtering for receive antenna i, and the impulse response of the RF channel between the j^(th) transmit and the i^(th) receive antenna is given by the following equation [15]: $\begin{matrix} {{h_{ij}(t)} = {\sum\limits_{l = 0}^{L - 1}{h_{ijl}{p_{rc}\left( {t - \tau_{l}} \right)}}}} & \lbrack 15\rbrack \end{matrix}$

where p_(rc)(t) is the convolution of p_(sr)(t) with p_(sr)(−t), and p_(rc)(t) typically has the raised-cosine spectrum.

After matched-filtering, a sampling module 33 a, a sampling module 33 b, and a sampling module 33 c sample matched-filtered waveform r₁(t), matched-filtered waveform r₂(t), and matched-filtered waveform r₃(t), respectively, at a symbol rate to form a received sequence r₁[m], a received sequence r₂[m], and a received sequence r₃[m], respectively. In one embodiment, received sequence r₁[m], received sequence r₂[m], and received sequence r₃[m] are formed in accordance with the following equation [16] (0≦m≦N−1): $\begin{matrix} \begin{matrix} {{r_{i}\lbrack m\rbrack} = {{r_{i}\left( {mT}_{s} \right)} = {{\sum\limits_{j = 1}^{M_{T}}{\sum\limits_{n = 0}^{N + L_{cp} - 1}{{{\hat{x}}_{j}\lbrack n\rbrack}{h_{ij}\left( {{mT}_{s} - {nT}_{s}} \right)}}}} =}}} \\ {= {\sum\limits_{j = 1}^{M_{T}}{\sum\limits_{n = 0}^{N + L_{cp} - 1}{{{\hat{x}}_{j}\lbrack n\rbrack}{h_{ij}\left\lbrack {m - n} \right\rbrack}}}}} \end{matrix} & \lbrack 16\rbrack \end{matrix}$

where h_(ij)[m] is defined to be h_(ij)(mT_(s)) and noise has been neglected.

At each receive branch, the first L_(cp) received samples for each baud interval are discarded, and the remaining N symbols of each block are transformed into the frequency-domain. Accordingly, a cyclic removal module 34 a, a cyclic removal module 34 b, and a cyclic removal module 34 c provide a symbol-spaced sample y₁[m], a symbol-spaced sample y₂[m], and a symbol-spaced sample y₃[m], respectively, where m=0 . . . N−1. In one embodiment, symbol-spaced sample y₃[m], symbol-spaced sample y₂[m], and symbol-spaced sample y₃[m] are determined in accordance with the following equation [17]: $\begin{matrix} {{y_{i}\lbrack m\rbrack} = {{\sum\limits_{j = 1}^{M_{T}}{\sum\limits_{n = 0}^{L_{cp} - 1}{{h_{ij}\lbrack n\rbrack}{x_{j}\left\lbrack {m - n} \right\rbrack}}}} + {n_{i}\lbrack m\rbrack}}} & \lbrack 17\rbrack \end{matrix}$

where m=0 . . . N−1, n_(i)[m] is the sampled noise waveform on the i^(th) receive antenna, and for one embodiment, the following assumptions are made. First, the raised cosine waveform p_(rc)(t) is assumed to be time limited for the interval—N_(p)T_(s)≦t≦N_(p)T_(s), where N_(p) is the number of significant “tails” of the raised cosine waveform. Second, in the RF channel response as defined in equation [13] above, the first multipath arrival time is N_(p)T_(s), and the maximum multipath arrival time τ_(L) is assumed to be no greater than (L_(cp)−1−2N_(p)) symbol times, where L_(cp) is the length of the prefix. These assumptions imply that h_(ij)[n]=h_(ij)(nT_(s)) is nonzero only for 0≦i≦L_(cp)−1. As will be appreciated by those skilled in the art, the extension of equation [17] to situations where these assumptions do not hold is straightforward.

In response to symbol-spaced sample y₁[m], symbol-spaced sample y₂[m], and symbol-spaced sample y₃[m], respectively, where m=0 . . . N−1, a TFT module 35 a, a TFT module 35 b, and a TFT module 35 c provide a frequency-domain sample Y₁[k], a frequency-domain sample Y₂[k], and a frequency-domain sample Y₃[k], respectively, for k=0 . . . N−1. In one embodiment, TFT modules 35 a-35 c are FFT based modules whereby frequency-domain sample Y₁[k], a frequency-domain sample Y₂[k], and a frequency-domain sample Y₃[k] are determined in accordance with the following equation [18]: $\begin{matrix} {{Y_{i}\lbrack k\rbrack} = {{\sum\limits_{j = 1}^{M_{T}}{{H_{ij}\lbrack k\rbrack}{X_{j}\lbrack k\rbrack}}} + {{N_{i}\lbrack k\rbrack}\quad{where}}}} & \lbrack 18\rbrack \\ {{H_{ij}\lbrack k\rbrack} = {\sum\limits_{n = 0}^{L_{cp} - 1}{{h_{ij}\lbrack n\rbrack}{\mathbb{e}}^{{- {j2\pi}}\quad{{nk}/N}}}}} & \lbrack 19\rbrack \\ {{X_{j}\lbrack k\rbrack} = {\sum\limits_{n = 0}^{N - 1}{{x_{j}\lbrack n\rbrack}{\mathbb{e}}^{{- {j2}}\quad\pi\quad{{nk}/N}}}}} & \lbrack 20\rbrack \\ {{N_{i}\lbrack k\rbrack} = {\sum\limits_{n = 0}^{N - 1}{{n_{i}\lbrack n\rbrack}{\mathbb{e}}^{{- {j2\pi}}\quad{{nk}/N}}}}} & \lbrack 21\rbrack \end{matrix}$

Equation [18] can be concisely written as the following equation [22]: Y[k]=H[k]X[k]+N[k]  [22] where the M_(R)×M_(T) channel matrix on subcarrier k is in accordance with the following equations [23] and [24]: $\begin{matrix} {{H\lbrack k\rbrack} = {\left\lbrack {{H_{1}\lbrack k\rbrack}\quad{H_{2}\lbrack k\rbrack}\quad\ldots\quad{H_{M_{T}}\lbrack k\rbrack}} \right\rbrack\quad{and}}} & \lbrack 23\rbrack \\ {{{H_{l}\lbrack k\rbrack} = \begin{bmatrix} {H_{1l}\lbrack k\rbrack} \\ {H_{2l}\lbrack k\rbrack} \\ \vdots \\ {H_{M_{R}l}\lbrack k\rbrack} \end{bmatrix}},{{Y\lbrack k\rbrack} = \begin{bmatrix} {Y_{1}\lbrack k\rbrack} \\ {Y_{2}\lbrack k\rbrack} \\ \vdots \\ {Y_{M_{R}}\lbrack k\rbrack} \end{bmatrix}},{{N\lbrack k\rbrack} = \begin{bmatrix} {N_{1}\lbrack k\rbrack} \\ {N_{2}\lbrack k\rbrack} \\ \vdots \\ {N_{M_{R}}\lbrack k\rbrack} \end{bmatrix}}} & \lbrack 24\rbrack \end{matrix}$

Using equation [4], equation [22] can be rewritten as the following equation [25]: Y[k]=H[k]V[k]S[k]+N[k]  [25]

For linear receive array processing, a frequency-domain weighting module 36 takes the vector of frequency-domain samples on each subcarrier (as represented in equation [22]) and applies a linear weighting matrix W[k] to form the vector of multiple outputs on each subcarrier in accordance with the following equation [26]: Z[k]=W ^(H) [k]Y[k]=W ^(H) [k]H[k]V[k]S[k]+W ^(H) [k]N[k]  [26]

In one embodiment, as illustrated in FIG. 5, frequency-domain weighting module 36 includes a plurality of split modules 36 a-36 i and a plurality of weight and sum (“W&S”) modules 36 j-36 r in communication via signal paths SP28-SP54.

A FTT module 37 a converts weighted frequency-domain samples Z₁[0], Z₁[1], and Z₁[2] into a weighted time-domain sample z₁[m], for m=0 . . . N−1. A FTT module 37 b converts weighted frequency-domain samples Z₂[0], Z₁[1], and Z₂[2] into weighted time-domain sample z₂[m], for m=0 . . . N−1. A FTT module 37 c converts weighted frequency-domain samples Z₃[0], Z₃[1] and Z₃[2] into a weighted time-domain sample z₃[m], for m=0 . . . N−1. In one embodiment, FTT module 37 a, FTT module 37 b, and FTT module 37 c are inverse FFT based modules whereby weighted time-domain sample z₁[m], z₂[m], and z₃[m] are determined in accordance with the following equation [27]: $\begin{matrix} {{z_{1}\lbrack m\rbrack} = {\frac{1}{N}{\sum\limits_{k = 0}^{N - 1}{{Z_{1}\lbrack k\rbrack}{\mathbb{e}}^{{+ {j2\pi}}\quad k\quad{m/N}}}}}} & \lbrack 27\rbrack \end{matrix}$

A decoder 38 a conventionally decodes weighted time-domain sample z₁[m] to derive time-domain signal s₁[m] (FIG. 2). A decoder 38 b conventionally decodes weighted time-domain sample z₂[m] to derive time-domain signal s₂[m] (FIG. 2). A decoder 38 c conventionally decodes weighted time-domain sample z₃[m] to derive time-domain signal s₃[m] (FIG. 2).

Each module of transmitting device 20 (FIG. 2) and each module of receiving device 30 (FIG. 4) as described may be implemented in hardware (analog or digital), software, or any combination of hardware and software. Those having ordinary skill in the art will appreciate a sequential operation of the modules of transmitting device 20 and the modules of receiving device 30 (e.g., in a software implementation) and a concurrent operation of the modules of transmitting device 20 and the modules of receiving device 30 (e.g., in a hardware implementation).

Numerous methods can be used for picking the transmit weight matrix implemented by frequency-domain weighting module 22 (FIGS. 2 and 3) and the receive weight matrix implemented by frequency-domain weighting module 36 (FIGS. 4 and 5) for frequency flat channels. Such methods can be applied on a subcarrier in the frequency-domain of a cyclic-prefix-based single carrier system. For illustration purposes, several examples for picking the transmit and receive weights are given in the following discussion.

For an arbitrary transmit weight matrix V[k], the MMSE receive weights can be in accordance with the following equation [28]: W[k]={H[k]V[k]V ^(H) [k]H ^(H) [k]+σ ² I} ⁻¹ H[k]V[k]  [28]

When channel knowledge is not available to transmitting device 20 (FIG. 2), the transmit weight matrix V[k] can be chosen to be equal to the identity matrix. Another example of choosing the transmit weight matrix is as follows. First, take the singular value decomposition of H[k] in accordance with the following equation [29]: H[k]=U[k]Σ[k]Q ^(H) [k]  [29]

where Σ[k] is a diagonal matrix with the singular values of H[k] along the main diagonal. Setting W(k)=U[k]Σ⁻¹ and V[k]=Q[k], equation [26] becomes the following equation [30]: Z[k]=S[k]+Σ ⁻¹ [k]U[k]N[k]  [30]

and the channel has effectively been “diagonalized” into parallel non-interfering spatial channels between the input to the transmit array and the input to the receive array. In this embodiment, the transmitter must first be provided channel information such as either H[k] or Q[k]. In one embodiment, the channel matrices H[k] are estimated at the receiving device and then transmitted back to the transmitting device.

The term “signal” was used in the operational description of the transmitting device 20 (FIG. 2) herein and term “sample” was used in the operational description of the transmitting device 20 (FIG. 4) herein for purposes of making a clear distinction between the operational description of transmitting device 20 and the operational description of receiving device 30. However, for purposes of claim construction, the terms “signal” and “sample” are interchangeable.

The present invention may be embodied in other specific forms without departing from its spirit or essential characteristics. The described embodiments are to be considered in all respects only as illustrative and not restrictive. The scope of the invention is, therefore, indicated by the appended claims rather than by the foregoing description. All changes that come within the meaning and range of equivalency of the claims are to be embraced within their scope. 

1. A transmitting device having one or more transmission branches, each transmission branch receiving a time-domain signal, said transmitting device comprising: a first set of one or more modules operable to transform each time-domain signal into a frequency-domain signal; a second set of one or more modules operable to apply a weight to each frequency-domain signal to form one or more weighted frequency-domain signals with each weighted frequency-domain signal being a function of each frequency-domain signal a third set of one or more modules operable to transform each weighted frequency-domain signal into a weighted time-domain signal; a fourth set of one or more modules operable to add a cyclic redundancy to each weighted time-domain signal to form a corresponding weighted redundant time-domain signal, wherein the cyclic redundancy is according to: ${{\hat{x}}_{j}\lbrack i\rbrack} = \left\{ \begin{matrix} {{x_{j}\left\lbrack {i + N - L_{cp}} \right\rbrack},} & {0 \leq i \leq {L_{cp} - 1}} \\ {{x_{j}\left\lbrack {i - L_{cp}} \right\rbrack},} & {L_{cp} \leq i \leq {N + L_{cp} - 1}} \end{matrix} \right.$ or ${{\hat{x}}_{j}\lbrack i\rbrack} = \left\{ \begin{matrix} {{{\hat{x}}_{j}\lbrack i\rbrack},} & {0 \leq i \leq {N - 1}} \\ {{x_{j}\left\lbrack {i - N} \right\rbrack},} & {N \leq i \leq {N + L_{cp} - 1}} \end{matrix}\quad \right.$ or any combination of the two; and a fifth set of one or more modules operable to transmit the weighted time-domain signal.
 2. The transmitting device for claim 1, wherein a transformation of each time-domain signal into a frequency-domain signal is according to: ${S_{j}\lbrack k\rbrack} = {\sum\limits_{m = 0}^{N - 1}{{s_{j}\lbrack m\rbrack}{{\mathbb{e}}^{{- {j2\pi}}\quad k\quad{m/N}}.}}}$
 3. The transmitting device for claim 1, wherein a weighting of each frequency-domain signal is according to: ${X\lbrack k\rbrack} = {{{V\lbrack k\rbrack}{S\lbrack k\rbrack}} = {\underset{l = 1}{\sum\limits^{N_{S}}}{{V_{l}\lbrack k\rbrack}{S_{l}\lbrack k\rbrack}}}}$
 4. The transmitting device of claim 1, wherein a transformation of each weighted frequency-domain signal into a weighted time-domain signal is according to: ${x_{j}\lbrack m\rbrack} = {\frac{1}{N}{\underset{k = 0}{\sum\limits^{N - 1}}{{X_{j}\lbrack k\rbrack}{\mathbb{e}}^{{+ {j2}}\quad\pi\quad{{km}/N}}}}}$
 5. The transmitting device of claim 1, further comprising: a sixth set of one or more modules operable to shape each weighted redundant time-domain signal into a weighted time-domain waveform.
 6. The transmitting device of claim 5, wherein a shaping of each weighted redundant time-domain signal into a weighted time-domain waveform is according to: ${{\hat{x}}_{j}\quad(t)} = {\sum\limits_{n = 0}^{N + L_{cp} - 1}\quad{{{\hat{x}}_{j}\lbrack n\rbrack}p_{sr}\quad\left( {t - {nT}_{s}} \right)}}$ 